// 获得本机ip
var os = require('os');


// 生成随机颜色值
exports.getColor = function getColor() {
    //用rgb格式生成随机的颜色，rgb每一项的数字都是0到255,因此每一项的长度为256
    //Math.random 生成0到1之间的随机数，与256相乘则会得到0到256之间的随机数
    //再用Math.floor向下取整之后，则得到的是0到255的随机整数，则rgb(r,g,b)可以实现颜色的随机性
    var r = Math.floor(Math.random() * 256);
    var b = Math.floor(Math.random() * 256);
    var g = Math.floor(Math.random() * 256);
    return "rgb(" + r + "," + g + "," + b + ")";
}


// 时间格式化处理
exports.dateFtt = function dateFtt(date, fmt = "yyyy-MM-dd hh:mm:ss") { //author: meizz   
    var o = {
        "M+": date.getMonth() + 1, //月份   
        "d+": date.getDate(), //日   
        "h+": date.getHours(), //小时   
        "m+": date.getMinutes(), //分   
        "s+": date.getSeconds(), //秒   
        "q+": Math.floor((date.getMonth() + 3) / 3), //季度   
        "S": date.getMilliseconds() //毫秒   
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}

// 获得本机ip地址: 如果开了OpenVPN就会获得一个其他ip,盲猜拿到的是这软件生成ip
exports.getIPAdress = function getIPAdress() {
    var interfaces = os.networkInterfaces();
    for (var devName in interfaces) {

        var iface = interfaces[devName];
        for (var i = 0; i < iface.length; i++) {
            var alias = iface[i];
            if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) {
                return alias.address;
            }
        }
    }
}


